import request from '@/utils/request'

// 获取-员工列表
export function getEmpList(params) {
  return request.get('/sys/user', { params })
}

// 批量-导出员工excel
export function exportEmpList() {
  // `responseType` 表示服务器响应的数据类型，可以是 'arraybuffer', 'blob', 'document', 'json', 'text', 'stream'
  //  responseType: 'json', // default
  // `responseEncoding` indicates encoding to use for decoding responses
  // axios配置responseType为blob接收二进制流文件为Blob格式
  // Note: Ignored for `responseType` of 'stream' or client-side requests
  // responseEncoding: 'utf8', // default
  // 改变接收数据的类型,使用blob接收二进制文件流
  return request.get('/sys/user/export', { responseType: 'blob' })
}

// 批量-下载导入员工模板
export function getImportTemplate() {
  return request.get('/sys/user/import/template', { responseType: 'blob' })
}

// 批量-导入员工(上传excel)
export function importEmpList(data) {
  // form-data类型 因为要上传文件类型
  return request.post('/sys/user/import', data)
}

// 删除-员工
export function delEmp(id) {
  return request.delete(`/sys/user/${id}`)
}

// 新增-员工
export function addEmp(data) {
  return request.post('/sys/user', data)
}

// 获取-员工-基本信息
export function getEmpInfo(id) {
  return request.get(`/sys/user/${id}`)
}

// 修改-员工-基本信息
export function updEmp(data) {
  return request.put(`/sys/user/${data.id}`, data)
}

// 员工分配角色-获取已启用的角色列表
export const getRoleList = () => {
  return request.get('/sys/role/list/enabled')
}

// 分配-员工-角色
export const addEmpRole = (data) => {
  return request.put('/sys/user/assignRoles', data)
}
